// 定义一个全局变量，用于获取聊天回复
var chatCompletion = null;

function fetchChatCompletion() {
  // 获取输入框中的聊天内容
  var info = document.querySelector("input").value;
  var content_text = `你是一位情话专家，专门帮助男性解决聊天对话的问题，回复的内容都很有诗意，并且很有趣，返回的信息永远让对方有话可接，不会让聊天尬场。
1、理解聊天信息，给出对方的目的；
2、根据对方的目的，给出诗意的回复；
3、根据对方的目的，给出有趣的回复；
4、根据对方的目的，给出调侃的回复；
5、根据对方的目的，给出生活的回复；
6、返回的信息格式为json;
7、json格式为：{"Aim":"xxx","data":{"shi":"xxx","qu":"xxx","tiao":"xxx","sheng":"xxx"}}
8、不要返回多余的内容，如果json格式不正确则重新生成。
此次聊天问题是：${info}`;

  var options = {
    method: "POST",
    headers: {
      Authorization:
        "Bearer sk-sksltxovybtraaatdiifuwdpybfwlmplbqzvhasrmgtmegeb",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      messages: [
        {
          content: content_text,
          role: "user",
        },
      ],
      model: "Qwen/Qwen2.5-7B-Instruct",
    }),
  };
  console.log(options.body);
  fetch("https://api.siliconflow.cn/v1/chat/completions", options)
    .then((response) => response.json())
    .then((response) => {
      console.log(response);
      chatCompletion = response;
      // 提取content字段并显示在div#infos中
      try {
        var content = JSON.parse(response.choices[0].message.content).data;
        var contentHtml = `
                            <div class="message user-message">
                                <p>你：${info}</p>
                            </div>
                            <div class="message bot-message">
                                <p>诗意回复：${content.shi}</p>
                                <p>有趣回复：${content.qu}</p>
                                <p>调侃回复：${content.tiao}</p>
                                <p>生活回复：${content.sheng}</p>
                            </div>
                        `;
        document.querySelector("#infos").innerHTML += contentHtml;
        // 滚动到对话框底部
        scrollToBottom();
      } catch (error) {
        console.error("JSON解析错误:", error);
        console.log("原始响应数据:", response.choices[0].message.content);
        // 如果捕获到异常，递归调用fetchChatCompletion函数
        fetchChatCompletion();
      }
    })
    .catch((err) => {
      console.error(err);
      // 如果捕获到异常，递归调用fetchChatCompletion函数
      fetchChatCompletion();
    });
}

// 滚动到对话框底部的函数
function scrollToBottom() {
  var chatContainer = document.querySelector("#infos");
  chatContainer.scrollTop = chatContainer.scrollHeight;
}
